const app = getApp()
var delArr=[];
Page({

  /**
   * 页面的初始数据
   */
  data: {
    carArr:[],
    totalPrice:0,
    totalChecked:false,
    delState:false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
     

  },
//点击删除按钮
  clickDelBtn(){
    this.setData({
      delState:!this.data.delState
    })
  },
//点击提交
  clickSubmit(){
    if(this.data.delState){
     this.removeCart();
    }else{
      if(this.data.totalPrice)
      wx.navigateTo({
        url: '/pages/orders/orders?orderArr='+JSON.stringify(delArr),
      })
      else{
        wx.showToast({
          title: '请先勾选商品',
          icon:"none"
        })
        return;
      }
    }
  },
//点击删除
  removeCart(){
    wx.showLoading({
      title: '数据加载中...',
      mask:true
    })
    wx.cloud.callFunction({
      name:"xiangcun_cart_remove",
      data:{
        delArr:delArr
      }
    }).then(async res=>{
     await this.getCarData();
     this.setData({ 
       delState:false,
       totalChecked:false,
       totalPrice:0
     })
     wx.hideLoading()
    })
  },  

  //改变步进器
  stepChange(e){
    var _num = e.detail;
    var index = e.currentTarget.dataset.index
    var _totalPrice= this.data.totalPrice;
    var _carArr = this.data.carArr;
    if(!_carArr[index].checked) return;
    var count = _num - _carArr[index].num
    _totalPrice+=_carArr[index].price*count;
    _carArr[index].num=_num;
    this.setData({
      totalPrice:_totalPrice
    })
  },
//点击选择按钮
  clickCheck(e){
    var _carArr = this.data.carArr  
    var _totalPrice = this.data.totalPrice
    var index = e.currentTarget.dataset.index
    if(_carArr[index].checked){
      delArr.forEach((item,idx)=>{
        if(item==_carArr[index]._id)
        {
            delArr.splice(idx,1)
        }
      })
      _totalPrice-=_carArr[index].price*_carArr[index].num
    }
    else
    {
      delArr.push(_carArr[index]._id)
      _totalPrice+=_carArr[index].price*_carArr[index].num
    }
    _carArr[index].checked = !_carArr[index].checked;

    var _totalChecked = _carArr.every(item=>{
      return item.checked
    })
    this.setData({
      carArr:_carArr,
      totalPrice:_totalPrice,
      totalChecked:_totalChecked
    })

  },
//点击全选
  clickTotalCheck(){
    var _totalPrice=0
    var _carArr = this.data.carArr  
    if(!this.data.totalChecked)
    {
      _carArr.forEach(item=>{
        item.checked = true
        _totalPrice+=item.price*item.num
        delArr.push(item._id)
        delArr=[...new Set(delArr)]
    })
    }else{
      _carArr.forEach(item=>{
        item.checked = false
        _totalPrice=0
        delArr=[]
      })
    }
    this.setData({
      totalChecked:!this.data.totalChecked,
      carArr:_carArr,
      totalPrice:_totalPrice
    })
  },
//获取购物车数据
  async getCarData(){
    delArr=[];
  await wx.cloud.callFunction({
      name:"xiangcun_cart_get"
    }).then(res=>{
      this.setData({
        carArr:res.result.data
      })
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow:async function () {
    
    if (typeof this.getTabBar === 'function' &&
    this.getTabBar()) {
    this.getTabBar().setData({
      selected: 2    // 根据tab的索引值设置
    }) 
  }
    this.setData({
      totalPrice:0,
      totalChecked:false
    })
    
    wx.showLoading({
      title: '数据加载中...',
      mask:true
    })
   await this.getCarData();
   wx.hideLoading()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})